class Solution(object):
    def selfDividingNumbers(self, left, right):
        """
        :type left: int
        :type right: int
        :rtype: List[int]
        """
        res = []
        for i in range(left, right+1):
            if '0' in str(i):
                continue
            flag = True
            for j in str(i):
                if i % int(j)!= 0:
                    flag = False
                    break
            if flag:
                res.append(i)
        return res
if __name__ == '__main__':
    left = 1
    right = 22
    print(Solution().selfDividingNumbers(left, right))
# 思路：
# 1. 遍历left到right的数字
# 2. 判断数字是否包含0，如果包含，则跳过
# 3. 判断数字是否能被其各个位数整除，如果能，则添加到结果集
# 4. 返回结果集
# 时间复杂度：O(n^2)
# 空间复杂度：O(1)